package com.piggy.logi.sys.service;

import com.piggy.common.core.web.page.IServicePlus;
import com.piggy.common.core.web.page.TableDataInfo;
import com.piggy.logi.sys.bo.LogiScheduleLogEditBo;
import com.piggy.logi.sys.bo.LogiScheduleLogQueryBo;
import com.piggy.logi.sys.domain.LogiScheduleLog;
import com.piggy.logi.sys.vo.LogiScheduleLogVo;

import java.util.Collection;
import java.util.List;

public interface ILogiScheduleLogService extends IServicePlus<LogiScheduleLog> {

    void addLog(long scheduleId, int status);

    List<LogiScheduleLogVo> scheduleCarLogDetail(Long scheduleId);
    List<LogiScheduleLogVo> scheduleCarLogDetail(String scheduleNo);

    /**
     * 查询单个
     *
     * @return
     */
    LogiScheduleLogVo queryById(Long id);

    /**
     * 查询列表
     */
    TableDataInfo<LogiScheduleLogVo> queryPageList(LogiScheduleLogQueryBo bo);

    /**
     * 查询列表
     */
    List<LogiScheduleLogVo> queryList(LogiScheduleLogQueryBo bo);

    /**
     * 根据新增业务对象插入调度车次日志
     *
     * @param bo 调度车次日志新增业务对象
     * @return
     */
    LogiScheduleLogVo insertByAddBo(LogiScheduleLogEditBo bo);

    /**
     * 根据编辑业务对象修改调度车次日志
     *
     * @param bo 调度车次日志编辑业务对象
     * @return
     */
    LogiScheduleLogVo updateByEditBo(LogiScheduleLogEditBo bo);

    /**
     * 校验并删除数据
     *
     * @param ids     主键集合
     * @param isValid 是否校验,true-删除前校验,false-不校验
     * @return
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
